/* 取消所有元素自带的外边距、内边距 */
* {
    margin: 0;
    padding: 0;
}

/* 设置一个背景颜色 */
body {
    background-color: #ecefff;
    background-image: url("../../img/school.jpg");
    background-size: cover;
    background-attachment: fixed;
    background-repeat: no-repeat;
}

/* 引入外部字体，代码参考示例代码 */
/* 外部字体的下载地址： https://www.iconfont.cn/fonts/index?spm=a313x.home_index.i3.13.58a33a81Igy46J*/
/* 下面的样式示例也是参考下载地址提供的文档，只需要替换为实际项目中的字体文件路径即可 */
@font-face {
    font-family: "阿里妈妈数黑体 Bold";
    font-weight: 700;
    src: url("../fonts/h19CoRX1LtmC.woff2") format("woff2"),
         url("../fonts/h19CoRX1LtmC.woff") format("woff");
    font-display: swap;
}

/* 使登录区域永远在中心点 */
div.login-area {
    position: absolute;
    /* top、left是相对于body的偏移 */
    top: 50%;
    left: 50%;
    /* translate的偏移量是自身的宽/高的50% */
    transform: translate(-50%, -50%);
}

/* 这是logo + 系统标题的区域 */
div.title {
    width: 360px;
    height: 120px;
}

/* 将logo图缩小 */
div.title>img {
    width: 120px;
    height: 120px;
}

/* 这个div设置成了弹性布局，目的是让2行p标签的文本，分别靠在div的上下2侧 */
div.title>div {
    width: 240px;
    height: 120px;
    /*background-color: #0066FF;*/
    float: right;
    display: flex;
    /* 主轴方向：垂直方向 */
    flex-direction: column;
    /* 主轴方向上的对齐方式：即该元素的子元素垂直方向对齐方式为靠向父元素的2边（上/下） */
    justify-content: space-between;
    /* 交叉轴上的对齐方式：即该元素的子元素水平方向为局中 */
    align-items: center;
}

/* 系统标题，使用外部字体渲染 */
div.title>div>p {
    /* 前面的字体无效时，往后面找 */
    font-family: "阿里妈妈数黑体 Bold",serif;
    font-size: 46px;
    color: rgb(22, 134, 22);
}

/* 登录tab页区域 */
div.tabs {
    width: 360px;
    border-radius: 12px;
    /* 隐藏圆角缺失的部分 */
    overflow: hidden;
    /* 距离 logo + 标题 为10px */
    margin-top: 10px;
}

/* 这里设置为弹性布局，将3个子元素a标签平分宽度 */
div.tabs>div.tabs_head {
    width: 360px;
    display: flex;
}

div.tabs>div.tabs_head>a {
    flex: 1;
    font-size: 18px;
    text-align: center;
    padding: 14px 0;
    background-color: #f5f5f6;
    color: #777;
    cursor: pointer;
}

div.tabs>div.tabs_head>a:hover {
    background-color: #dbdada;
}

div.tabs>div.tabs_head>a.checked {
    background-color: #fff;
    color: #000;
}

div.tabs>div.tabs_content {
    width: 360px;
    background-color: #fff;
}

/* 这个div设置成了弹性布局，实现水平、垂直方向都居中的效果 */
div.tabs>div.tabs_content>div.loginForm {
    display: flex;
    flex-direction: column;
    /* 主轴方向上的对齐方式：即该元素的子元素垂直方向对齐方式为居中 */
    justify-content: center;
    /* 交叉轴方向上的对齐方式：即该元素的子元素水平方向对齐方式为居中 */
    align-items: center;
    /* 内容距离顶部 20px */
    padding-top: 20px;
}

/* 将二维码图片缩小 */
div.tabs>div.tabs_content>div.loginForm>img {
    width: 200px;
    height: 200px;
}

/* 这个p标签的高度以及下外边距，是最后整体去调整的，使3个tab区域高度一样 */
div.tabs>div.tabs_content>div.loginForm>p {
    /* 高度不会影响字体大小 */
    height: 23px;
    line-height: 23px;
    margin-bottom: 10px;
}

/* a标签如果不写href属性，没有蓝色字体和下划线的样式，补充上 */
div.tabs>div.tabs_content>div.loginForm>p>a {
    color: blue;
    text-decoration: underline;
    cursor: pointer;
}

/* 调整输入框的样式 */
div.tabs>div.tabs_content>div.loginForm input.loginInput {
    /* 这里设置盒子区域不变，如果设置边框和padding，内容区域缩小 */
    box-sizing: border-box;
    width: 320px;
    height: 46px;
    padding: 10px;
    font-size: 16px;
    color: #000;
    border-radius: 10px;
    background-color: rgba(39, 39, 41, 0.05);
    border: none;
    /* outline为输入框被鼠标点击后，获取焦点时产生的边框线，去除掉，在后续自定义 */
    outline: none;
    margin-bottom: 16px;
}

/* 伪类：获取焦点时的边框线样式和背景色 */
div.tabs>div.tabs_content>div.loginForm input.loginInput:focus {
    border: 1px solid #b4c1ff;
    background-color: #fff;
}

/* 登录button */
div.tabs>div.tabs_content>div.loginForm>button {
    width: 320px;
    height: 46px;
    border-radius: 10px;
    border: none;
    /* 背景渐变色，注意，这里不能使用background-color */
    background: linear-gradient(0deg, #446dff 0%, rgba(99, 125, 255, 0.75) 100%);
    color: #fff;
    cursor: pointer;
    margin-bottom: 16px;
}

/* 禁用状态的样式 */
div.tabs>div.tabs_content>div.loginForm>button.disabledBtn {
    opacity: 0.5;
    cursor: not-allowed;
}

/* 输入框 + 获取验证码的button，设计成水平方向的弹性布局 */
div.tabs>div.tabs_content>div.loginForm>div {
    width: 320px;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 16px;
}

div.tabs>div.tabs_content>div.loginForm>div>label> {
    flex: 5;
}

div.tabs>div.tabs_content>div.loginForm>div>label>input.loginInput {
    /* 占父元素，即label宽度的95% */
    width: 95%;
    margin-bottom: 0;
}

div.tabs>div.tabs_content>div.loginForm>div>button {
    flex: 2;
    height: 36px;
    border-radius: 5px;
    border: 1px solid #b4c1ff;
    color: #637dff;
    /* 全透明，还可以设置为rgba(0, 0, 0, 0) */
    background-color: transparent;
    cursor: pointer;
    font-size: 14px;
}

div.tabs>div.tabs_content>div.loginForm>div.rules {
    /* 改变弹性布局中纵轴方向的对齐：即垂直方向对齐到顶部 */
    align-items: start;
    color: rgba(37, 38, 43, 0.35);
    margin-bottom: 10px;
}

div.tabs>div.tabs_content>div.loginForm>div.rules>p {
    font-size: 14px;
    /* 这里的高度最后才调整，高度不会影响字体大小 */
    height: 37px;
}

div.tabs>div.tabs_content>div.loginForm>div.rules>p>a {
    color: blue;
    text-decoration: underline;
    cursor: pointer;
}

div.general-popups {
    position: absolute;
    /* 使弹出层的位置处在网页水平居中的位置，垂直方面可以通过translate()中第二个百分比微调 */
    left: 50%;
    top: 50%;
    transform: translate(-50%, 20%);
    width: 170px;
    color: #fff;
    text-align: center;
    background-color: rgba(0, 0, 0, 0.5);
    padding: 5px 10px;
    box-sizing: border-box;
    border-radius: 5px;
}